package com.ruoyi.lxy.service;

import com.ruoyi.lxy.domain.TTime;
import com.ruoyi.lxy.domain.vo.TTimeVo;
import com.ruoyi.lxy.domain.bo.TTimeBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.Date;
import java.util.List;

/**
 * 时间段Service接口
 *
 * @author ruoyi
 * @date 2023-08-24
 */
public interface ITTimeService {
    /**
     * 查询时间段
     */
    TTimeVo queryById(Long id);

    /**
     * 查询时间段列表
     */
    TableDataInfo<TTimeVo> queryPageList(TTimeBo bo, PageQuery pageQuery);

    /**
     * 查询时间段列表
     */
    List<TTimeVo> queryList(TTimeBo bo);

    /**
     * 新增时间段
     */
    Boolean insertByBo(TTimeBo bo);

    /**
     * 修改时间段
     */
    Boolean updateByBo(TTimeBo bo);

    /**
     * 校验并批量删除时间段信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    Boolean setCanGoByIds(Collection<Long> ids);

    Boolean setNotCanGoByIds(Collection<Long> ids);

    //补报
    Boolean ReselectTime(String reselectStart, String reselectEnd, Collection<Long> ids);

    Boolean CheckTimeExist(Long routeId);

    TableDataInfo<TTimeVo> queryPageNotCanGoList(Long projectId,TTimeBo bo, PageQuery pageQuery);

    TableDataInfo<TTimeVo> queryPageCanGoList(Long projectId,TTimeBo bo, PageQuery pageQuery);

    Boolean removeNotcango(Long projectId);

}
